//
//  JBUnitTileView.h
//  JBCalendar
//
//  Created by YongbinZhang on 7/8/13.
//  Copyright (c) 2013 JustBen. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "JBCalendarDate.h"


typedef struct {
    unsigned int row;   //  行
    unsigned int line;  //  列
} UnitTilePosition;


@interface JBUnitTileView : UIView

//  日期
@property (nonatomic, strong)   JBCalendarDate *date;
//  日期范围内的事件量
@property (nonatomic, assign)   NSInteger eventsCount;

//  通常情况下的背景
@property (nonatomic, strong)   UIView *backgroundView;
//  激活时的背景
@property (nonatomic, strong)   UIView *highlightedBackgroundView;

//  日期中“日”显示的Label
@property (nonatomic, strong)   UILabel *dayLabel;

//  状态切换是否显示切换效果
@property (nonatomic, assign)   BOOL animated;

/****************************************************************
 *@Description:初始化方法
 *@Params:
 *  frame:用来设置大小
 *  position:位置
 *@Return:SKUnitTileView对象
 ***************************************************************/
- (id)initWithFrame:(CGRect)frame Position:(UnitTilePosition)position;


/****************************************************************
 *@Description:该Tile激活状态发生变化（模版方法）
 *@Params:
 *  highlighted:YES-被激活   NO-失去激活
 *  animated:YES-切换效果延时 NO-切换效果非延时
 *@Return:nil
 ***************************************************************/
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated;


/****************************************************************
 *@Description:用户按下该Tile（模版方法）
 *@Params:
 *  animated:YES-切换效果延时 NO-切换效果非延时
 *@Return:nil
 ***************************************************************/
- (void)tappedOnUnitTileWithAnimated:(BOOL)animated;

/****************************************************************
 *@Description:用户双击该Tile（模版方法）
 *@Params:
 *  animated:YES-切换效果延时 NO-切换效果非延时
 *@Return:nil
 ***************************************************************/
- (void)doubleTappedOnUnitTileWithAnimated:(BOOL)animated;

/****************************************************************
 *@Description:用户长时间按下该Tile（模版方法）
 *@Params:
 *  animated:YES-切换效果延时 NO-切换效果非延时
 *@Return:nil
 ***************************************************************/
- (void)longPressedOnUnitTileWithAnimated:(BOOL)animated;


@end